package com.irdstudio.efp.ctr.service.facade;

import java.util.List;

import com.irdstudio.efp.ctr.service.vo.AttachmentInfoBean;
import com.irdstudio.efp.ctr.service.vo.CtrLoanContVO;
import com.irdstudio.efp.ctr.service.vo.RecvDocBodyFmt;
import com.irdstudio.basic.framework.core.exception.ValidateException;

public interface CtrCaUtilsService {
	/**
	 * 获取挑战码. 并发送短信
	 * @param ctrLoanContVO 接收短信客户信息（客户名称和客户证件号码）
	 * @param mobileNo 手机号码
	 * @param filePath 文件路径
	 * @param fileName 文件名
	 * @return 发送成功标志
	 */
	RecvDocBodyFmt getChallengetCode(CtrLoanContVO ctrLoanContVO, String mobileNo, String filePath, String fileName);

	/**
	 * 获取挑战码. 并发送短信
	 * @param ctrLoanContVO 接收短信客户信息（客户名称和客户证件号码）
	 * @param mobileNo 手机号码
	 * @param filePath 文件路径
	 * @param fileName 文件名
	 * @param attachmentInfos 第三方证据数组
	 * @param kw 加签时的关键字(就是在那个地方后面加上签名)
	 * @return 发送成功标志
	 */
	public RecvDocBodyFmt getChallengetCode(CtrLoanContVO ctrLoanContVO, String mobileNo, String filePath, String fileName, List<AttachmentInfoBean> attachmentInfos, String kw);
	/**挑战码签名*/
	public RecvDocBodyFmt signChallengeCode(String mobileNo,String challengeCode,String transId,String filePath,String fileName) throws ValidateException;
	/**电子签章*/
	public boolean pdfSign(String contNo) throws Exception;

	/**
	 * 对加签后的征信授权书上传到内容管理平台
	 * @param lmtSerno 授信申请流水号
	 * @param filePath CA的CD服务器文件路径
	 * @param fileName CA的CD服务器文件名
	 * @param legalOrgCode 法人机构号
	 * @param cusId 客户号
	 * @param cusName 客户名称
	 * @throws Exception 异常
	 */
	void uploadSignCreditContent(String lmtSerno, String filePath, String fileName, String legalOrgCode, String cusId, String cusName) throws Exception;
}
